<?php
//ihziluoh 添加
//getExpressByOrderIdAndName(快递单号,快递代号,排序规则,返回类型,授权密钥)
//接口官方介绍地址: http://www.aikuaidi.cn/api/
/*   errCode	返回错误码：
     0：无错误， 1：快递KEY无效， 2：快递代号无效， 3：访问次数达到最大额度， 4：查询服务器返回错误即返回状态码非200, 5：程序执行出错
     status	订单跟踪状态：
     0：查询出错（即errCode!=0）， 1：暂无记录， 2：在途中， 3：派送中， 4：已签收， 5：拒收 6：疑难件 7：退回 
*/
function getExpressByOrderIdAndName($order,$id,$ord,$show='json',$key='50d5c6c0ccb54ae9b8554ede49ecf1a4'){
    //http://www.aikuaidi.cn/rest/?key=[]&order=[]&id=[]&ord=[]&show=[]
    $id=idReplace($id);
	$url="http://www.aikuaidi.cn/rest/?key=$key&order=$order&id=$id&ord=$ord&show=$show";
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	$file_contents = curl_exec($ch);
	curl_close($ch);
	$file_contents=object_array(json_decode($file_contents));	
	if($file_contents){
	    return $file_contents;
	    
	}else{	   
	    Output::instance()->resultCode(-1, "物流查询错误");
	    return true;	    
	}
	 
	
}
//ihziluoh object json转化成数组
function object_array($array)
{
    if(is_object($array))
    {
        $array = (array)$array;
    }
    if(is_array($array))
    {
        foreach($array as $key=>$value)
        {
            $array[$key] = object_array($value);
        }
    }
    return $array;
}


function idReplace($id)
{
    switch ($id)
    {
        case "圆通":
            return 'yuantong';
            break;
        case "申通":
            return 'shentong';
            break;
        case "韵达":
            return 'yunda';
            break;
        case "国通":
            return 'guotong';
            break;        
        case "中通":
            return 'zhongtong';
            break;
        case "宅急送":
            return 'zjs';
            break;        
        case "天天":
            return 'tiantian';
            break;        
        case "顺丰":
            return 'shunfeng';
            break;
        case "全峰":
            return 'quanfeng';
            break;        
        case "EMS":
            return 'ems';
            break;        
        default:
            return '';
            break;
    }
}

